package com.project.class3_29.annotation;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Arrays;

/**
 * 通过注解得到注解对象中的属性值
 */
public class Test {
    public static void main(String[] args) {
        Class manClass = Man.class;
        //判断指定类中，是否有MyAnnotation注解
        if (manClass.isAnnotationPresent(MyAnnotation.class)){
            //得到指定类的注解对象
            MyAnnotation my= (MyAnnotation) manClass.getDeclaredAnnotation(MyAnnotation.class);
            System.out.println(my.name()+"    "+ my.age()+"       "+ Arrays.toString(my.array()));
        }

        System.out.println("------");
        try {
            //通过属性名得到这个属性名的属性对象
            Field f=manClass.getDeclaredField("id");
            if (f.isAnnotationPresent(MyAnnotation.class)){
                MyAnnotation my = f.getAnnotation(MyAnnotation.class);
                System.out.println(my.name()+"    "+ my.age()+"       "+ Arrays.toString(my.array()));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
